#include "drv_seg.h"
#include "drv_spi.h"
#include "drv_systick.h"
#include "drv_adc.h"
uint8_t duan_code[] = {  0x3F, 0x06,0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F,0x6F };
uint8_t wei_code[] = { 0x01, 0x02, 0x04, 0x08 };
void drv_74hc595_init(void)
{
	drv_spi2_init();
}

void drv_seg_display(uint16_t data)
{		
		
		uint16_t data0=0, data1=0, data2=0 ,data3=0;
		data0 =( data/1000)%10;
		data1 = (data/100)%10;
		data2 = (data/10)%10;
		data3 = data%10;
		drv_spi2_senddata(wei_code[0]);
		
		drv_spi2_senddata(duan_code[data0]);
		GPIO_ResetBits( GPIOB,  GPIO_Pin_12);
		drv_systick_ms(2);
		GPIO_SetBits( GPIOB, GPIO_Pin_12);
		drv_systick_ms(1);
		drv_spi2_senddata(wei_code[1]);
		
		drv_spi2_senddata(duan_code[data1]|0x80);
		GPIO_ResetBits( GPIOB,  GPIO_Pin_12);
		drv_systick_ms(2);
		GPIO_SetBits( GPIOB, GPIO_Pin_12);
		drv_systick_us(1);
		drv_spi2_senddata(wei_code[2]);
		
		drv_spi2_senddata(duan_code[data2]);
		GPIO_ResetBits( GPIOB,  GPIO_Pin_12);
		drv_systick_ms(2);
		GPIO_SetBits( GPIOB, GPIO_Pin_12);
		drv_systick_us(1);
		drv_spi2_senddata(wei_code[3]);
		
		drv_spi2_senddata(duan_code[data3]);
		GPIO_ResetBits( GPIOB,  GPIO_Pin_12);
		drv_systick_ms(2);
		GPIO_SetBits( GPIOB, GPIO_Pin_12);
		drv_systick_us(1);
		
}



